To solve multi-objective Flexible Job-shop Scheduling Problems (FJSP), a Teaching and Peer-Learning Particle Swarm Optimization with Pareto Non-Dominated Solution Set (PNDSS-TPLPSO) algorithm was proposed. First, the minimum completion time of jobs, the maximum work load of machines and the total work load of all machines were taken as the optimization goals to establish a multi-objective flexible job-shop scheduling model. Then, the proposed algorithm combined multi-objective Pareto method with Teaching and Peer-Learning Particle Swarm Optimization (TPLPSO). A fast Pareto non-dominated sorting operator was applied to generate initial Pareto non-dominated solution set, and extracting Pareto dominance layer program was adopted to update Pareto non-dominated solution set. Furthermore, composite dispatching rule was adopted to generate the initial population, and opening up parabola decreasing inertia weigh strategy was taken to improve the convergence speed. Finally, the proposed algorithm was adopted to solve three Benchmark instances. In the comparison experiments with Multi-Objective Evolutionary Algorithm with Guided Local Search (MOEA-GLS) and Controlled Genetic Algorithm with Approach by Localization (AL-CGA), the proposed algorithm can obtain more and better Pareto non-dominated solutions for the same Benchmark instance. In terms of computing time, the proposed algorithm is less than MOEA-GLS. The simulation results demonstrate that the proposed algorithm can solve multi-objective FJSP effectively.